home *** CD-ROM | disk | FTP | other *** search
/ SGI Developer Toolbox 6.1 / SGI Developer Toolbox 6.1 - Disc 4.iso / public / SciAn / src / ScianMainWindow.c < prev    next >
C/C++ Source or Header  |  1994-08-01  |  6KB  |  198 lines

  1. /*    ScianMainWindow.c
  2.       Title Window routines
  3.  
  4.     Jim Lyons
  5.  
  6.       3/15/90  original version by Eric Pepke
  7.     11/5/90  modified to add title screen (JL)
  8.     9/6/91   added help (EP)
  9.     9/10/91  completely rewritten to make title window an ObjWindow (JL)
  10.     10/30/91 redesigned to use ScianTitleFont w/logos
  11. */
  12.  
  13. #include "Scian.h"
  14. #include "ScianTypes.h"
  15. #include "ScianWindows.h"
  16. #include "ScianObjWindows.h"
  17. #include "ScianEvents.h"
  18. #include "ScianColors.h"
  19. #include "ScianControls.h"
  20. #include "ScianTextBoxes.h"
  21. #include "ScianIcons.h"
  22. #include "ScianIDs.h"
  23. #include "ScianStyle.h"
  24. #include "ScianHelp.h"
  25.  
  26. #define MWWIDTH        520
  27. #define MWHEIGHT    376
  28. #define TOPOFTITLE    MWHEIGHT - MAJORBORDER
  29. #define TOPOFSUBTITLE    TOPOFTITLE - 68
  30. #define TOPOFINST    138
  31. #define LEFTOFINST    80
  32. #define TOPOFDISCLAIMER    60
  33.  
  34. #define TOPOFUNIV    124
  35. #define TOPOFTORCH    176 + 12
  36. #define UNIVFONTCOLOR    UIRED
  37. #define TORCHCOLOR    UIGOLD
  38.  
  39. #ifdef BIGFONTSOK
  40. #define TITLEFONTNAME    "ScianTitle"
  41. #else
  42. #define TITLEFONTNAME    "Palatino18"
  43. #endif
  44.  
  45. #define TITLEFONTSIZE    56
  46. #define TITLEFONTCOLOR    UIBLUE
  47.  
  48. #define SUBTITLEFONTNAME    "Palatino18"
  49. #define SUBTITLEFONTSIZE    18
  50. #define SUBTITLEFONTCOLOR    UITEXT
  51. #define SUBTITLELINESPACE    2
  52.  
  53. #define DISCLAIMERFONTNAME    "TimesRoman"
  54. #define DISCLAIMERFONTSIZE    11
  55. #define DISCLAIMERFONTCOLOR    UITEXT
  56. #define DISCLAIMERLINESPACE    4
  57.  
  58. #ifndef PLAIN
  59. #define PLAIN    0
  60. #endif
  61.  
  62. static ObjPtr MainWindowClose(theWindow)
  63. WinInfoPtr theWindow;
  64. /* close title window */
  65. {
  66.     return ObjTrue;
  67. }
  68.  
  69. static ObjPtr MainWindowPress(theInfo, flags)
  70. WinInfoPtr theInfo;
  71. long flags;
  72. /* Press in the title window brings up help window */
  73. {
  74. #ifdef INTERACTIVE
  75.     if (TOOL(flags) == T_HELP)
  76.     {
  77.         ContextHelp((ObjPtr) theInfo);
  78.     }
  79.     else
  80.     {
  81.         DoShowHelp();
  82.     }
  83. #endif
  84.     return NULLOBJ;
  85. }
  86.  
  87. void MainWindow()
  88. /* Create the title window */
  89. {
  90.     WinInfoPtr winInfo;
  91.     ObjPtr contents, panel, textbox;
  92.  
  93.     inputWindow = winInfo = NewObjWindow(windowClass, "SciAn", WINUI + WINFIXEDSIZE + WINCENTERED, 
  94.             MWWIDTH, MWHEIGHT, MWWIDTH, MWHEIGHT);
  95.  
  96.     if (winInfo)
  97.     {
  98.         SetVar((ObjPtr) winInfo, HELPSTRING,
  99.             NewString("This is the title window of SciAn.\n"));
  100.         SetMethod((ObjPtr) winInfo, CLOSE, MainWindowClose);
  101.         SetMethod((ObjPtr) winInfo, PRESS, MainWindowPress);
  102.  
  103.         contents = GetVar((ObjPtr) winInfo, CONTENTS);
  104.  
  105.         /* put in panel */
  106.         panel = NewPanel(greyPanelClass, 0, MWWIDTH, 0, MWHEIGHT);
  107.         PrefixList(contents, panel);
  108.         SetVar(panel, PARENT, (ObjPtr) winInfo);
  109.         SetVar(panel, BACKGROUND, NewInt(UIWHITE));
  110.  
  111.         contents = GetVar(panel, CONTENTS); /* contents of panel */
  112.  
  113.         /* put in title textbox */
  114.         textbox = NewTextBox(0, MWWIDTH, TOPOFTITLE - TITLEFONTSIZE, TOPOFTITLE,
  115.                 PLAIN, "Title", "SciAn");
  116.         PrefixList(contents, textbox);
  117.         SetVar(textbox, PARENT, panel);
  118.         SetTextFont(textbox, TITLEFONTNAME);
  119.         SetTextSize(textbox, TITLEFONTSIZE);
  120.         SetTextColor(textbox, NewInt(TITLEFONTCOLOR));
  121.         SetTextAlign(textbox, CENTERALIGN);
  122.  
  123.         /* put in subtitle textbox */
  124.         strcpy(tempStr,"Scientific Visualization Package\n\n\
  125. written by\nEric Pepke, John Murray, Jim Lyons, and Tzong-Yow Hwu\n\n");
  126.         strcat(tempStr, SCIANVERSION);
  127.         strcat(tempStr, "\n");
  128.         strcat(tempStr, SCIANDATE);
  129.         textbox = NewTextBox(0, MWWIDTH, 0, TOPOFSUBTITLE,
  130.                 PLAIN, "Subtitle", tempStr);
  131.         PrefixList(contents, textbox);
  132.         SetVar(textbox, PARENT, panel);
  133.         SetTextFont(textbox, SUBTITLEFONTNAME);
  134.         SetTextSize(textbox, SUBTITLEFONTSIZE);
  135.         SetTextColor(textbox, NewInt(SUBTITLEFONTCOLOR));
  136.         SetTextAlign(textbox, CENTERALIGN);
  137.         SetVar(textbox, LINESPACE, NewInt(SUBTITLELINESPACE));
  138.  
  139.         /* put in institute name textbox */
  140.         textbox = NewTextBox(LEFTOFINST, MWWIDTH/2, 0, TOPOFINST,
  141.                 PLAIN, "Institute name",
  142.                 "Supercomputer\nComputations\nResearch Institute");
  143.         PrefixList(contents, textbox);
  144.         SetVar(textbox, PARENT, panel);
  145.         SetTextFont(textbox, SUBTITLEFONTNAME);
  146.         SetTextSize(textbox, SUBTITLEFONTSIZE);
  147.         SetTextColor(textbox, NewInt(TITLEFONTCOLOR));
  148.         SetVar(textbox, LINESPACE, NewInt(SUBTITLELINESPACE-1));
  149. #ifdef BIGFONTSOK
  150.         /* put in SCRI logo textbox */
  151.         textbox = NewTextBox(MAJORBORDER, MWWIDTH/2, 0, TOPOFINST,
  152.                 PLAIN, "SCRI logo", "!"); /* logo character in title font */
  153.         PrefixList(contents, textbox);
  154.         SetVar(textbox, PARENT, panel);
  155.         SetTextFont(textbox, TITLEFONTNAME);
  156.         SetTextSize(textbox, TITLEFONTSIZE);
  157.         SetTextColor(textbox, NewInt(TITLEFONTCOLOR));
  158.  
  159.         /* put in torches textbox */
  160.         textbox = NewTextBox(MWWIDTH/2, MWWIDTH - MAJORBORDER, 0, TOPOFTORCH,
  161.                 PLAIN, "Torches", "F"); /* torches character in title font */
  162.         PrefixList(contents, textbox);
  163.         SetVar(textbox, PARENT, panel);
  164.         SetTextFont(textbox, TITLEFONTNAME);
  165.         SetTextSize(textbox, TITLEFONTSIZE + 12);    /* fudge, torches don't fit */
  166.         SetTextAlign(textbox, RIGHTALIGN);
  167.         SetTextColor(textbox, NewInt(TORCHCOLOR));
  168. #endif
  169.  
  170.         /* put in university name textbox */
  171.         textbox = NewTextBox(MWWIDTH/2, MWWIDTH - MAJORBORDER, 0, TOPOFUNIV,
  172.                 PLAIN, "University name",
  173.                 "Florida State University\nTallahassee, Florida");
  174.         PrefixList(contents, textbox);
  175.         SetVar(textbox, PARENT, panel);
  176.         SetTextFont(textbox, SUBTITLEFONTNAME);
  177.         SetTextSize(textbox, SUBTITLEFONTSIZE);
  178.         SetTextColor(textbox, NewInt(UNIVFONTCOLOR));
  179.         SetTextAlign(textbox, RIGHTALIGN);
  180.         SetVar(textbox, LINESPACE, NewInt(SUBTITLELINESPACE));
  181.  
  182.         /* put in disclaimer textbox */
  183.         textbox = NewTextBox(MINORBORDER - 2, MWWIDTH - MINORBORDER + 2, 0, TOPOFDISCLAIMER,
  184.                 PLAIN, "Disclaimer", 
  185.                 "Copyright 1991-1993 by Florida State University. \
  186. Supported by U.S. Department of Energy Contract \
  187. DE-FC05-85ER250000 and the State of Florida. No warranty \
  188. of any kind is made regarding use of this product.");
  189.         PrefixList(contents, textbox);
  190.         SetVar(textbox, PARENT, panel);
  191.         SetTextFont(textbox,  DISCLAIMERFONTNAME );
  192.         SetTextSize(textbox, DISCLAIMERFONTSIZE);
  193.         SetTextColor(textbox, NewInt(DISCLAIMERFONTCOLOR));
  194.         SetTextAlign(textbox, CENTERALIGN);
  195.         SetVar(textbox, LINESPACE, NewInt(DISCLAIMERLINESPACE));
  196.     }
  197. }
  198.